<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>

<body>
    <script>
        function checkAge(data) {
            if (data === {
                    age: 18
                }) {
                console.log("you are an adult");
            } else if (data == {
                    age: 18
                }) {
                console.log("you are atill an adult");
            } else {
                console.log("hmm,you don't have an age,i guess") //打印
            }
        }
        checkAge({
            age: 18
        })
        // 答案: C
        // 在比较相等性， 原始类型通过它们的值进行比较， 而对象通
        // 过它们的引用进行比较。 JavaScript检查对象是否具有对内
        // 存中相同位置的引用。
        // 我们作为参数传递的对象和我们用于检查相等性的对象在内
        // 存中位于不同位置， 所以它们的引用是不同的。
        // 这就是为什么 {
        //     age: 18
        // } === {
        //     age: 18
        // }
        // 和 {
        //     age: 18
        // } == {
        //     age: 18
        // }
        // 返回false的原因。
    </script>
</body>

</html>